-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: improve push click behavior #247
Conversation
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.
|
Build available to test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just one alternative solution added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not quite understanding the reason for this pull request. I see "Update auto tracking to skip screen event for specific activity" as the task that was completed by this pull request in the ticket.
That makes me think the reason for skipping screen events for specific activity is because you will be introducing a new Activity to the CIO SDK and you want to make sure that the new Activity does not get tracked by CIO auto screenview tracking.
If that is all true, is there a simplified solution? Adding a new interface TrackableScreen
feels like a new feature added to the CIO SDK for customers to use. I was not expecting a new feature, but a different solution such as a hard-coded filter in the SDK's screenview tracking logic that skipped Activities in the CIO SDK that should not be tracked.
Have you considered other solutions? Is there a solution that is more simple then this one?
@levibostian Yes the change prevents new activity from being tracked by CIO auto-screen tracking. The PR does exactly what is described in the task breakdown. Current approach is much better than solutions like hard-coding filters. And even if it adds a feature, it does without breaking existing functionality and requires minimal effort on our part. I don’t see any reason for not continuing with it. If you have any suggestions for improvement or see any issues with this approach, feel free to mention them. Otherwise, let’s continue the discussion in the parent ticket or on Slack. |
I am open to a solution such as this one where an interface is used to determine if a screen should be tracked or not. My hesitations come up from:
I have an idea to suggest. Would it work for a refactor to the PR where Update: I find the rename to |
@levibostian I actually started implementing this with For the interface, I don't think this can be confusing for customers because we are not yet going to add this in docs. If the customers find out the interface themselves, the doc on it already explains it is fully optional. We can discuss any improvements in docs or name on the file, if you have any ideas in my mind, please post it on |
In general, I believe that code should not be added to a sample app unless it's a public facing feature that is fully documented. Therefore, I would approve of the PR if As you have mentioned, I agree that if we do decide to make this a public feature add in the the future, naming and improvements could be discussed at that time. For internal use, this looks good to me. |
## [3.8.0](3.7.1...3.8.0) (2023-11-14) ### Features * improve push click behavior ([#247](#247)) ([bcc5318](bcc5318))
helps: https://github.com/customerio/issues/issues/10830
Changes
TrackableScreen
interface to provide screen name for auto screen trackingTrackableScreen
in Java samplePending Items
Note
This is base PR for improving push click behavior. Changes planned in this PR directly are final, but will be kept in draft till the feature is complete. Further changes for the feature will be merged through more PRs into this branch and then released after final testing.